perl

    2熱度

    1回答

    我在編寫Perl腳本時,出現了一個問題,只是出於好奇。我注意到,當我創建一個對象而不將它分配給任何變量(標量/數組/散列)時,不會出現任何警告或錯誤。 例如: Person->new ('Sebastian', 'Vettel', 30); 的MCVE如下。 use strict; use warnings; package Person; sub new { my $cla

    2熱度

    1回答

    我已經開始學習perl,並且遇到了一些問題。那裏可能有不同格式的日期可以作爲輸入。我必須按照時間順序對這些日期進行排序。 我計劃將單日期格式中的每個日期進行轉換,並將其作爲日期以常見格式(作爲關鍵字)和日期原始給定格式(作爲值)存儲在散列表中。現在運行排序的散列和輸出中的原始格式(散列值)打印日期。 但是怎麼做呢?我找到了一種將日期轉換爲另一種格式的格式,如下所示。 use Time::Piece

    0熱度

    1回答

    我想找出如何做到這相反: Perl - How can I turn a hash into a query string? 我有一個字符串化的查詢字符串的形式,並希望將其轉換爲一個哈希值。 隨着更多的上下文,客戶端傳遞一些URL參數作爲字符串化的查詢形式,這是base64編碼,我想解碼,變成一個哈希,添加一些更多的自定義URL參數的哈希,然後我有一個方法已經轉換回字符串並附加到URL。 my $

    1熱度

    1回答

    我試圖將Linux上的網絡接口配置文件列表加載到散列哈希中,並將它們進一步編碼爲JSON。這是我使用的代碼: #!/usr/bin/env perl use strict; use diagnostics; use JSON; use Data::Dumper qw(Dumper); opendir (DIR, "/etc/sysconfig/network-scripts/");

    1熱度

    1回答

    我的問題很簡單。我必須從散列中打印一些鍵值對。我嘗試了兩種不同的方法: 方法 #Fill hash from file ($fh has been defined previously) while(my $line = <$fh>) { $counter{$line}++; } foreach (my($k, $v) = each %counter){ my ($p

    4熱度

    1回答

    我正在尋找一種在Perl中實現讀/寫鎖的好方法。 這需要同步來自Windows和Unix上不同Perl線程和/或進程的文件訪問。 試過Fcntl :: flock這對我來說是完美的,如果它按預期工作。不幸的是,它看起來像在壓力下,flock允許在另一個線程中設置鎖定已經鎖定的文件。 看着一些CPAN模塊,但大多數都是用羣集來實現的。 接下來,我打算評估針對Windows的fcntl for Uni

    -1熱度

    3回答

    我有這樣的bash/awk的代碼來處理主機 $ echo 'the.pattern to change' | awk '{sub(/the./,"")}{print $1}' pattern 我需要通過Perl來代替AWK在Perl打印列。 任何想法如何用perl oneliner替換聲明的第二部分?

    4熱度

    1回答

    這讓我瘋狂!我有一個腳本需要創建一個隨機ID,以便該文件可以重命名。下面是測試我有: for (my $i = 0; $i <= 100; $i++) { my $test = rand_id(); print "FOO: $test\n"; } sub rand_id { # Used for the file names (not temp_id, for new

    3熱度

    1回答

    在我正在開發的一個Perl程序中,用戶可以指定一個要加載的Perl模塊,這個模塊有望定義一對(可變數量)的變量。 Perl程序然後處理這些變量,基本上把這個包看作是一個普通的散列,只不過這些值都在一個名稱空間中。這樣做能正常工作,即,該程序打印「2」: use strict; use warnings; package P { my $k1 = 'v1'; my $k2

    1熱度

    1回答

    我有一個在Ubuntu中運行的腳本,但是我想在Windows中運行它。我知道如何執行它,我只是不知道我的腳本有什麼問題不讓它運行。 #!/usr/bin/perl use strict; use warnings; use IO::Compress::Zip qw(zip $ZipError); use File::Find; my @files = <C:\Windows\*.lo