Vor 3 Stunden
Oh ja, bitte das Beispiel zeigen.
Zitat:Perfekt! Ich zeige dir jetzt ein komplettes Beispielprojekt für Windows 11, das deine Perl-Skripte mit CPAN-Modulen sauber integriert, direkt ausführbar ist und sich leicht in VS Code bearbeiten lässt. Es orientiert sich an deiner Linux-Umgebung, sodass du dein altes Projekt nahtlos betreuen kannst.
Projektname:
Ziel:Code:TaskManager
- Perl-Skript verwaltet Aufgaben (JSON-Datei)
- CPAN-Module werden genutzt
- Batch-Datei startet Skript
- VS Code konfiguriert für Editing & Testing
1️⃣ Projektstruktur
Code:TaskManager/
│
├─ tasks.pl ← Hauptskript
├─ tasks.json ← JSON-Datei für Aufgaben (wird erzeugt)
├─ run_tasks.bat ← Batch-Datei zum Starten
├─ README.md ← Anleitung
└─ cpan_modules.txt ← Liste benötigter CPAN-Module
2️⃣
– Perl-SkriptCode:tasks.pl
Code:#!/usr/bin/perl
use strict;
use warnings;
use JSON;
use File::Spec;
# JSON-Datei
my $json_file = File::Spec->catfile(".", "tasks.json");
# Standardaufgaben, falls Datei fehlt
unless (-e $json_file) {
my @tasks = (
{ task => "Einkaufen", done => 0 },
{ task => "Perl lernen", done => 0 },
);
open my $fh, ">", $json_file or die "Kann Datei nicht erstellen: $!";
print $fh encode_json(\@tasks);
close $fh;
print "tasks.json erzeugt.\n";
}
# JSON laden
open my $fh, "<", $json_file or die "Kann Datei nicht öffnen: $!";
local $/;
my $json_text = <$fh>;
close $fh;
my $tasks_ref = decode_json($json_text);
# Aufgaben anzeigen
print "Aktuelle Aufgaben:\n";
foreach my $t (@$tasks_ref) {
my $status = $t->{done} ? "✓" : "✗";
print "$status $t->{task}\n";
}
# Neue Aufgabe hinzufügen (optional über Argument)
if (@ARGV) {
my $new_task = join(" ", @ARGV);
push @$tasks_ref, { task => $new_task, done => 0 };
open my $fh, ">", $json_file or die "Kann Datei nicht schreiben: $!";
print $fh encode_json($tasks_ref);
close $fh;
print "Aufgabe hinzugefügt: $new_task\n";
}
3️⃣
– benötigte ModuleCode:cpan_modules.txt
Code:JSON
File::SpecZitat:Damit kannst du schnell alle Module installieren:oder:Code:cpan -i < Modulname >
Code:cpanm -L local_lib JSON File::Spec
4️⃣
– Batch-DateiCode:run_tasks.bat
Code:@echo off
REM Starte das Perl-Skript mit allen Argumenten
perl "%~dp0tasks.pl" %*
pauseBeispiel:
→ Pfad des Batch-SkriptsCode:%~dp0
→ übergibt alle Argumente an PerlCode:%*
→ Fenster bleibt offen, sodass du Ausgaben siehstCode:pause
Code:run_tasks.bat "Neue Aufgabe hinzufügen"
5️⃣ VS Code Konfiguration
- VS Code installieren
- Plugin Perl installieren
- Projektordner öffnen (
)Code:TaskManager
- Terminal in VS Code öffnen → Skript testen:
Code:perl tasks.pl
perl tasks.pl "Neue Aufgabe hinzufügen"
- Optional: Tasks in
ansehenCode:tasks.json
6️⃣ Vorteile dieser Lösung
- Dein Perl-Skript läuft wie unter Linux
- JSON als plattformübergreifendes Datenformat
- CPAN-Module sind verfügbar → volle Kompatibilität
- Batch-Datei ermöglicht einfachen Doppelklick-Start
- VS Code bietet Editing, Syntax-Highlighting und Debugging
7️⃣ Erweiterungsmöglichkeiten
- Aufgaben als erledigt markieren (z. B. via Argument
)Code:done <Nummer>
- GUI mit Perl Tk erstellen
- Task Scheduler → Automatische Skriptausführung
- Logging in Dateien oder Windows Event Log
- Integration mit Python für zusätzliche Automationen
Wenn du willst, kann ich noch eine erweiterte Version mit GUI in Perl Tk erstellen, die direkt die Aufgaben aus
anzeigt, abhaken lässt und neue Aufgaben hinzufügt – also ein Mini-Task-Manager komplett in Perl für Windows.Code:tasks.json
Willst du, dass ich das erstelle?

