String zerlegen

ulf123

Erfahrenes Mitglied
Hallo ich habe ein kleines Problem

ich will mit perl flogenden string ausführen
HTML:
my $big = system("du -sh /srv/www");

die ausgabe von $big lautet dann

HTML:
2.7M    /srv/www

ich wollte aber ganz gerne nur die Zahl in der Einheit MB haben

ist das möglich?

MfG ulf
 
Hallo ulf123!

Natürlich ist das Möglich ;)

Perl:
my ($usage) = ($big =~ /^([\d.]+)\w/); # Ohne Einheitenangabe
my ($usage) = ($big =~ /^([\d.]+\w+)/); # MitEinheitenangabe
print $usage;

Mithilfe eines Regulären Ausdrucks holen wir uns aus $big einfach vom Anfang der Zeile die gesuchten Angaben und lassen sie dann direkt (ohne den Umweg über $1 zu machen) in der Variablen $usage ablegen.

Weiteres zu Regulären Ausdrücken findet sich in perldoc perlre

Gruß,
Sven
 
Zurück