Portál AbcLinuxu, 8. listopadu 2025 07:04
klic=>"hodnota",klic2=>{klic3=>"hodnota",klic4=>{klic5=>"hodnota"}}
a potřebuji ho v Perlu dostat do hashe o stejné struktuře.
Jde to udělat i jinak než přes regulární výrazy?
Potřeboval bych trochu popostrčit.
Řešení dotazu:
eval)
use 5.010;
use strict;
use warnings;
use Data::Dumper qw{Dumper};
my $text =
'klic=>"hodnota",klic2=>{klic3=>"hodnota",klic4=>{klic5=>"hodnota"}}';
my $hash = { eval($text) };
say Dumper($hash);
pak záleží co chcete jestli ukládat a nahrávat hash-e, pak použít třeba moduly Storable, FreezeThaw popř. pro JSON,YAML
nebo použít package, což se mi zdá nejlepší (ale záleží co řešíte)
např.
package Data_na_zpracovani;
use 5.010;
use strict;
use warnings;
our $VERSION = 0.001;
my $hash = {
klic => 'hodnota',
klic2 => { klic3 => 'hodnota', klic4 => { klic5 => 'hodnota' } }
};
sub data { return $hash }
1;
a pak
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use Data_na_zpracovani;
use Data::Dumper qw{Dumper};
our $VERSION = 0.001;
say Dumper( Data_na_zpracovani::data() );
a nebo naopak ze souborem z daty volat knihovnu na zpracování, což by asi dávalo více smyslu, (ale opět závisí na tom co řešíte a preferenci)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.